Many encryption methods are known in the art. Of the known methods, many methods are block methods in which a block of plain text is iteratively altered according to a predefined rule; each such iteration is also known as a “round”.
Many block encryption methods can be viewed as specific cases of Feistel networks, also termed herein “Feistel cipher methods”, or “Feistel-like cipher methods”; a single round of a Feistel cipher method is termed herein a “Feistel cipher round”.
Feistel ciphers are defined in the Handbook of Applied Cryptography (A. Menezes, P. van Oorschot, and S. Vanstone, CRC Press, 1996. The Handbook of Applied Cryptography (HAC) is available on the Internet at www.cacr.math.uwaterloo.ca/hac). The discussion of Feistel ciphers in HAC, on pages 250-259, is incorporated herein by reference.
A Feistel cipher is an iterated block cipher mapping a plaintext (comprising two parts, L0 and R0), for t-bit blocks L0 and R0, to a ciphertext (Rr and Lr), through an r-round process where r≧1. For 1≦i≦r, round I maps (Li−1, Ri−1) using key Ki to (Li, Ri) as follows: Li=Ri−1, Ri=Li−1⊕f(Ri−1, Ki), where each subkey Ki is derived from the cipher key K (HAC, page 251).
Those skilled in the art will appreciate that although the definition above is for blocks L0 and R0 of equal sizes, equality of the sizes is not mandatory.
Decryption of a Feistel cipher is often achieved using the same r-round process but with subkeys used in reverse order, Kr through K1.
Types of block ciphers which are cases of Feistel networks include the following well-known methods: DES, Lucifer, FEAL, Khufu, Khafre, LOKI, GOST, CAST, and Blowfish.
Feistel ciphers are also discussed in Applied Cryptography, Second Edition (B. Schneier, John Wiley and Sons, Inc., 1996) on pages 347-351. The discussion of Feistel ciphers in Applied Cryptography, Second Edition is hereby incorporated herein by reference.
DES is specified in FIPS 46-3, available on the Internet at: csrc.nist.gov/publications/fips/fips46-3/fips46-3.pdf. FIPS 46-3 is hereby incorporated herein by reference.
FOX: A New Family of Block Ciphers, (Pascal Junod and Serge Vaudenay, Selected Areas in Cryptography 2004: Waterloo, Canada, Aug. 9-10, 2004. Revised papers, Lecture Notes in Computer Science. Springer-Verlag.) describes the design of a new family of block ciphers based on a Lai-Massey scheme, named FOX. The main features of the design, besides a very high security level, are a large implementation flexibility on various platforms as well as high performances. In addition, a new design of strong and efficient key-schedule algorithms is proposed. Evidence is provided that FOX is immune to linear and differential cryptanalysis.
How to Construct Pseudorandom Permutations From Pseudorandom Functions (M. Luby and C. Rackoff, SIAM Journal on Computing, 17:2, pp. 373—386, April 1988), describes a method to efficiently construct a pseudorandom invertible permutation generator from a pseudorandom function generator. A practical result described in Luby-Rackoff is that any pseudorandom bit generator can be used to construct a block private key cryptosystem which is secure against chosen plaintext attacks, which is one of the strongest known attacks against a cryptosystem.
The disclosures of all references mentioned above and throughout the present specification, as well as the disclosures of all references mentioned in those references, are hereby incorporated herein by reference.